﻿/******************************************************************************/
/***               Generated by IBExpert 29.12.2015 10:23:42                ***/
/******************************************************************************/

/******************************************************************************/
/***      Following SET SQL DIALECT is just for the Database Comparer       ***/
/******************************************************************************/
SET SQL DIALECT 3;



/******************************************************************************/
/***                                 Tables                                 ***/
/******************************************************************************/


CREATE GENERATOR GEN_DK_DISCOUNTBONUSSETS_ID;

CREATE TABLE DK_DISCOUNTBONUSSETS (
    ID           INTEGER NOT NULL,
    NAME         VARCHAR(255) NOT NULL,
    DAYSOFWEEK   VARCHAR(7),
    PERIODBEGIN  TIMESTAMP,
    PERIODEND    TIMESTAMP,
    FROMTIME     TIME,
    TOTIME       TIME,
    GOAL         BLOB SUB_TYPE 1 SEGMENT SIZE 4096,
    "TYPE"       SMALLINT DEFAULT 0 NOT NULL,
    VAL          DOUBLE PRECISION NOT NULL,
    STATE        SMALLINT DEFAULT 1 NOT NULL,
    USERNAME     VARCHAR(20),
    LASTEDIT     TIMESTAMP DEFAULT Current_TimeStamp
);




/******************************************************************************/
/***                              Primary Keys                              ***/
/******************************************************************************/

ALTER TABLE DK_DISCOUNTBONUSSETS ADD CONSTRAINT PK_DK_DISCOUNTBONUSSETS PRIMARY KEY (ID);


/******************************************************************************/
/***                                Triggers                                ***/
/******************************************************************************/


SET TERM ^ ;



/******************************************************************************/
/***                          Triggers for tables                           ***/
/******************************************************************************/



/* Trigger: DK_DISCOUNTBONUSSETS_BI */
CREATE OR ALTER TRIGGER DK_DISCOUNTBONUSSETS_BI FOR DK_DISCOUNTBONUSSETS
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gen_dk_discountbonussets_id,1);
end
^


/* Trigger: DK_DISCOUNTBONUSSETS_BU */
CREATE OR ALTER TRIGGER DK_DISCOUNTBONUSSETS_BU FOR DK_DISCOUNTBONUSSETS
ACTIVE BEFORE UPDATE POSITION 0
AS
begin
  New.LastEdit = Current_TimeStamp;
end
^


SET TERM ; ^



/******************************************************************************/
/***                              Descriptions                              ***/
/******************************************************************************/

COMMENT ON TABLE DK_DISCOUNTBONUSSETS IS 
'Наборы правил применения скидок и начиления бонусов';



/******************************************************************************/
/***                          Fields descriptions                           ***/
/******************************************************************************/

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.ID IS 
'Идентификатор набора';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.NAME IS 
'Наименование набора';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.DAYSOFWEEK IS 
'Дни недели (порядковые номера дней в неделе)';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.PERIODBEGIN IS 
'Дата начала периода';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.PERIODEND IS 
'Дата окончания периода';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.FROMTIME IS 
'Время, с которого применяется текущий набор скидок и бонусов.';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.TOTIME IS 
'Время, до которого применяется текущий набор скидок и бонусов.';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.GOAL IS 
'Цель набора скидок и бонусов';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS."TYPE" IS 
'Тип набора:
0 - Скидка, %;
1 - Скидка, сумма;
2 - Начисляемые бонус деньги, %;
3 - Начисляемые бонус деньги, сумма.';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.VAL IS 
'Значение (%, сумма)';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.STATE IS 
'Состояние набора:
-1 - Удален;
0 - Не активен;
1 - Активен.';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.USERNAME IS 
'Имя пользователя';

COMMENT ON COLUMN DK_DISCOUNTBONUSSETS.LASTEDIT IS 
'Дата / время последней модификации записи';



/******************************************************************************/
/***                               Privileges                               ***/
/******************************************************************************/
